package com.ruoyi.maode.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.maode.domain.dto.AddPartDTO;
import com.ruoyi.maode.domain.dto.QueryPartDTO;
import com.ruoyi.maode.domain.entity.Part;
import com.ruoyi.maode.domain.vo.PartDetailVO;
import com.ruoyi.maode.domain.vo.PartSizeVO;
import com.ruoyi.web.core.config.ResultDTO;
import com.ruoyi.web.util.PageQuery;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * 零件接口
 * @author zhangwenqiang
 */
public interface PartService extends IService<Part> {

    /**
     * 新增零件数据的接口
     * @param dto
     * @return
     */
    int addPart(@Param("dto")AddPartDTO dto);

    /**
     * 批量删除零件的接口
     * @param ids
     * @return
     */
    int deleteByIds(List<Long> ids);


    /**
     * 删除零件的接口
     * @param id
     * @return
     */
    int deleteById(Long id);

    /**
     * 编辑零件的接口
     * @param dto
     * @return
     */
    int editPart(AddPartDTO dto);

    /**
     * 查询零件列表的接口
     * @param dto
     * @return 零件列表数据
     */
    Page<Part> selectPartList(PageQuery<QueryPartDTO> dto);

    /**
     * 获取零件详情的接口
     * @param id
     * @return 零件详情数据
     */
    PartDetailVO getDetail(Long id);
}
